package com.thor.palmmall.rest.order;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.HashMap;
import java.util.List;

import com.thor.commons.entity.OperateInfo;
import com.thor.commons.entity.UCN;

public class AProduct implements Serializable {
  // private static final long serialVersionUID = 3390503957541242472L;

  // private String code;
  // private String name;
  // private String specification; //规格
  // private String model;
  // private String grade;
  // private String unit;
  // private UCN category;
  // private BigDecimal price;
  // private BigDecimal originalPrice;//原价

  private static final long serialVersionUID = 6317712665661731614L;

  private String uuid;

  private int version;

  private String versionTime;

  private OperateInfo createInfo;

  private OperateInfo lastModifyInfo;

  private String permGroupId;

  private String permGroupTitle;

  private String code;

  private String name;

  private String state;

  private String productType;

  private UCN store;

  private UCN tenant;

  private UCN contract;

  private UCN position;

  private AProductCategory mainCategory;

  private AProductCategory category;

  private AProductBrand brand;

  private BigDecimal price;

  private AProductTaxRate taxRate;

  private boolean contractPeriod;

  private String beginTime;

  private String endTime;

  private String remark;

  private List<String> taxRates;
  private List<String> otherTaxRates;

  private HashMap<String, String> properties;

  private List<String> fileIds;

  private List<String> invoiceCategories;

  public int getVersion() {
    return version;
  }

  public void setVersion(int version) {
    this.version = version;
  }

  public String getVersionTime() {
    return versionTime;
  }

  public void setVersionTime(String versionTime) {
    this.versionTime = versionTime;
  }

  public OperateInfo getCreateInfo() {
    return createInfo;
  }

  public void setCreateInfo(OperateInfo createInfo) {
    this.createInfo = createInfo;
  }

  public OperateInfo getLastModifyInfo() {
    return lastModifyInfo;
  }

  public void setLastModifyInfo(OperateInfo lastModifyInfo) {
    this.lastModifyInfo = lastModifyInfo;
  }

  public String getPermGroupId() {
    return permGroupId;
  }

  public void setPermGroupId(String permGroupId) {
    this.permGroupId = permGroupId;
  }

  public String getPermGroupTitle() {
    return permGroupTitle;
  }

  public void setPermGroupTitle(String permGroupTitle) {
    this.permGroupTitle = permGroupTitle;
  }

  public String getCode() {
    return code;
  }

  public void setCode(String code) {
    this.code = code;
  }

  public String getName() {
    return name;
  }

  public void setName(String name) {
    this.name = name;
  }

  public String getState() {
    return state;
  }

  public void setState(String state) {
    this.state = state;
  }

  public String getProductType() {
    return productType;
  }

  public void setProductType(String productType) {
    this.productType = productType;
  }

  public UCN getStore() {
    return store;
  }

  public void setStore(UCN store) {
    this.store = store;
  }

  public UCN getTenant() {
    return tenant;
  }

  public void setTenant(UCN tenant) {
    this.tenant = tenant;
  }

  public UCN getContract() {
    return contract;
  }

  public void setContract(UCN contract) {
    this.contract = contract;
  }

  public UCN getPosition() {
    return position;
  }

  public void setPosition(UCN position) {
    this.position = position;
  }

  public AProductCategory getMainCategory() {
    return mainCategory;
  }

  public void setMainCategory(AProductCategory mainCategory) {
    this.mainCategory = mainCategory;
  }

  public AProductCategory getCategory() {
    return category;
  }

  public void setCategory(AProductCategory category) {
    this.category = category;
  }

  public AProductBrand getBrand() {
    return brand;
  }

  public void setBrand(AProductBrand brand) {
    this.brand = brand;
  }

  public BigDecimal getPrice() {
    return price;
  }

  public void setPrice(BigDecimal price) {
    this.price = price;
  }

  public AProductTaxRate getTaxRate() {
    return taxRate;
  }

  public void setTaxRate(AProductTaxRate taxRate) {
    this.taxRate = taxRate;
  }

  public boolean isContractPeriod() {
    return contractPeriod;
  }

  public void setContractPeriod(boolean contractPeriod) {
    this.contractPeriod = contractPeriod;
  }

  public String getBeginTime() {
    return beginTime;
  }

  public void setBeginTime(String beginTime) {
    this.beginTime = beginTime;
  }

  public String getEndTime() {
    return endTime;
  }

  public void setEndTime(String endTime) {
    this.endTime = endTime;
  }

  public String getRemark() {
    return remark;
  }

  public void setRemark(String remark) {
    this.remark = remark;
  }

  public List<String> getTaxRates() {
    return taxRates;
  }

  public void setTaxRates(List<String> taxRates) {
    this.taxRates = taxRates;
  }

  // public AProductProperties getProperties() {
  // return properties;
  // }
  //
  // public void setProperties(AProductProperties properties) {
  // this.properties = properties;
  // }

  public List<String> getFileIds() {
    return fileIds;
  }

  public HashMap<String, String> getProperties() {
    return properties;
  }

  public void setProperties(HashMap<String, String> properties) {
    this.properties = properties;
  }

  public void setFileIds(List<String> fileIds) {
    this.fileIds = fileIds;
  }

  public String getUuid() {
    return uuid;
  }

  public void setUuid(String uuid) {
    this.uuid = uuid;
  }

  public List<String> getInvoiceCategories() {
    return invoiceCategories;
  }

  public void setInvoiceCategories(List<String> invoiceCategories) {
    this.invoiceCategories = invoiceCategories;
  }

  public List<String> getOtherTaxRates() {
    return otherTaxRates;
  }

  public void setOtherTaxRates(List<String> otherTaxRates) {
    this.otherTaxRates = otherTaxRates;
  }

}
